<?php
class ModuloSistemasController extends AppController{

	var $name = 'ModuloSistemas';
	var $uses = array('Modulo_sistema','Modulo_accion');
	var $helpers = array('Html','Form','Ajax','Javascript','Cargar');
	var $layout =  "ajax";

 	function index() 
	{
 	}
	function nuevo_modulo($i=null)
	{
		if($i) $this->set ("guardar",1);
		$id = $this->Modulo_sistema->ultimo_id();
		$this->set('id', $id);
	}
 
 	function ver_modulo($id = null) 
 	{
		$est=$this->Modulo_sistema->find('all',array('fields'=>array('id','nombre'),'order' => 'id ASC'));
   		$this->set('mod',$est);
   	}
   
	function guardar_modulo()
 	{
 		$d=$this->data;
 		$this->data=null;
 		$nom=ucwords($d['nombre']);
 		if(!empty($nom))
 		{
			if( $this->verifica_modulo_int($d['nombre']))
 			{	
				$this->data['Modulo_sistema']['id']=$d['id'];
 				$this->data['Modulo_sistema']['nombre']=$nom;
				if($this->Modulo_sistema->save($this->data))
				{
					$this->set('Exito','Datos del<br /> Modulo del Sistema<br /> guardados');
					echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('nombre').value=''; </script>";
					$id = $this->Modulo_sistema->ultimo_id();
					echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('id').value='$id'; </script>";
				}
				else
				{
					$this->set('Error','Datos del<br />Modulo del Sistema<br /> no fueron guardados');
				}
 			}
			else
			{
				$this->set('Error','El modulo del Sistema se encuentra registrado');
			}
 		}
 		else
		{
 			$this->set('Error','El nombre del<br /> Modulo del Sistema<br /> es obligatorio');
			echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('nombre').focus(); </script>";
		}
		$this->render('mensaje');
 	}
 
	function modificar_modulo($id=null)
	{

		echo"<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('buscar').style.display='none';
		document.getElementById('guardarfun').style.display='block';</script>";
		$this->set('lista_modulos',$this->Modulo_sistema->find('first',array('conditions'=>array('Modulo_sistema.id'=>$id),'fields'=>array('id','nombre'))));
   	}

	function guardar_modificar()
 	{
 		if(!empty($this->data))
 		{ 
 			$d=$this->data;
 			$this->data=null;
 			$nom=ucwords(trim($d['nombre']));
 			if(!empty($nom))
 			{
 				if( $this->verifica_modulo_int($d['nombre'],$d['id_modu']))
 				{
 					$this->data['Modulo_sistema']['id']=$d['id_modu'];
 					$this->data['Modulo_sistema']['nombre']=$nom;
					if($this->Modulo_sistema->save($this->data))
					{			
					echo "<script type=\"text/javascript\" language=\"javascript\">
document.getElementById('guardarfun').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
					$this->set('Exito','Datos del<br /> Modulo<br /> Modificados');
					}
					else
						$this->set('Error','Datos del<br /> Modulo del Sistema<br /> no fueron Modificados');
 				}
 				else
 				$this->set('Error','El nombre del<br /> Modulo del Sistema<br /> ya existe');
 			}
 			else
 				$this->set('Error','El nombre del<br /> Modulo del Sistema<br /> es obligatorio');
 		}
		$this->ver_modulo();
		$this->render('ver_modulo');
	 }

 	function borrar_modulo($id)
 	{
		if(!$this->tiene_acciones($id))
		{
			if($this->Modulo_sistema->del($id))
			{
				$this->set('Exito','Modulo eliminado');
			}
			else
			{
		  		$this->set('Error','error al eliminar modulo');
			}
		}
		else
			$this->set('Error','modulo posee acciones asociados, no se puede eliminar');
		$this->ver_modulo();
		$this->render('ver_modulo');
	}

 	function cerrar($id)
	{
		echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('guardarfun').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
			 $this->render('mensaje');
 	}	
 
	function verifica_modulo ($est=NULL,$id=NULL) 
	{
		$est=$this->mayuscula($est);
		if(isset($id))
		{
			if(isset($est))
			{
				//$RS=$this->Modulo_sistema->findCount("UPPER(Modulo.nombre)='$est' and Modulo.id <> $id");
				$sql="SELECT id FROM modulo_sistemas where UPPER(nombre)='$est' and id <> $id";
				$r=$this->Modulo_sistema->query($sql);
				if(isset($r[0][0]['id']) && $r[0][0]['id']>0)
				{
					echo "<script type=\"text/javascript\" language=\"javascript\">		
							document.getElementById('nombre').focus()
						 </script>";
					echo '<span class="error_1">Modulo ya registrado en el sistema.</span>';
					//$this->set('Error','Error!!! el modulo se encuentra registrado en el sistema!!!');
				}
			}
		}
		else
		{
			if(isset($est))
			{
				//echo $c="UPPER(Modulo_sistema.nombre)='$est'";
				//$RS=$this->Modulo_sistema->findCount($c);
				$sql="SELECT id FROM modulo_sistemas where UPPER(nombre)='$est'";
				$r=$this->Modulo_sistema->query($sql);
				if(isset($r[0][0]['id']) && $r[0][0]['id']>0)
				{
					echo "<script type=\"text/javascript\" language=\"javascript\">		
							document.getElementById('nombre').focus()
						 </script>";
					echo '<span class="error_1">Modulo ya registrado en el sistema.</span>';
					//$this->set('Error','Error!!! el modulo se encuentra registrado en el sistema!!!');
				}
			}
		}
		$this->render('mensaje');
	}
	
	function verifica_modulo_int ($est,$id=NULL) 
	{
		$res=true;
		$est=$this->mayuscula($est);
		if(isset($id))$sql="SELECT id FROM modulo_sistemas where UPPER(nombre)='$est' and id <> $id";
		else $sql="SELECT id FROM modulo_sistemas where UPPER(nombre)='$est'";
		$r=$this->Modulo_sistema->query($sql);
		if(isset($r[0][0]['id']) && $r[0][0]['id']>0) $res=false;
		return $res;
	}
	
	function tiene_acciones($id)
	{
		$b = $this->Modulo_accion->find('all',array('conditions' => array('Modulo_accion.modulo_sistema_id' => $id)));
		if(isset($b[0]['Modulo_accion']['id']) and $b[0]['Modulo_accion']['id']>0) $res=1;
		else $res=0;
		return $res;
	}
	
 
}
